import axios from 'axios';

// 登录请求方法
const loginreq = (method, url, params) => {
  console.log(method, '发送后端请求');
  return axios({
    method: method,
    url: url,
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
    },
    data: params,
    traditional: true,
    transformRequest: [
      function (data) {
        let ret = ''
        for (let it in data) {
          ret +=
            encodeURIComponent(it) +
            '=' +
            encodeURIComponent(data[it]) +
            '&'
        }
        return ret
      }
    ]
  }).then(res => res);
};
// 通用公用方法
// const req = (method, url, params) => {
//     return axios({
//         method: method,
//         url: url,
//         headers: {
//             'Content-Type': 'application/json',
//             token: JSON.parse(localStorage.getItem('logintoken'))
//         },
//         data: JSON.stringify(params)
//     }).then(res => res.data);
// };

// const req = (method, url, params) => {
//   return axios({
//     method: method,
//     url: url,
//     headers: {
//       'Content-Type': 'application/json',
//       token: JSON.parse(sessionStorage.getItem('logintoken'))
//     },
//     data: JSON.stringify(params)
//   }).then(res => res.data);
// };


const req = (method, url, params) => {
  let config = {
    method: method,
    url: url,
    headers: {
      'Content-Type': 'application/json',
      token: JSON.parse(sessionStorage.getItem('logintoken'))
    },
  };
  //兼容get和post的请求方式
  if (method.toLowerCase() === 'get') {
    // 如果是 GET 请求，将参数拼接到 URL 上
    config.params = params;
  } else {
    // 如果是其他请求方式（如 POST），将参数放在请求体中
    config.data = JSON.stringify(params);
  }
  return axios(config).then(res => res.data);
};

export {
  loginreq,
  req
}
